Devices and programs exist that provide users with directions between known locations. For example, the user may use one of these devices to get directions from her office to a friend's house that she has not previously visited. The user may be able to select the types of roads she prefers (e.g., I prefer highways but would like to avoid toll roads). In addition the device providing the direction has its own internal metrics that associate a particular cost with particular roads. For example, a side street may have a higher cost than a freeway, or a road with a speed limit of 50 MPH may have a lower cost than a road with a speed limit of 20 MPH. Some online programs may even take into account the current traffic conditions. For example, if the program knows that there is currently traffic on a particular freeway, it may provide directions that avoid the congested area.